home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Mission 3
/
Mission 3.zip
/
Mission 3.iso
/
internet
/
cabdemo
/
docs
/
prog
/
cab_prot.txt
next >
Wrap
Text File
|
1998-08-29
|
7KB
|
272 lines
Das CAB-Protokoll
=================
Das CAB-Protokoll besteht aus einer Reihe von AES-Messages mit deren
Hilfe beliebige GEM-Programme bestimmte Aufgaben an CAB übertragen können,
bzw. bestimmte Aktionen mit CAB koordinieren können.
Der Inhalt der Environment-Variablen BROWSER= (sofern definiert) enthält
den Zugriffspfad von CAB. Sollte sich CAB nicht im Speicher befinden kann
ein Programm über diese Variable CAB selbst nachstarten.
Eine mögliche Anwendung:
Falls man im Internet weitere aktuelle Informationen oder Updates zu
eigenen Programmen anbietet, könnte man mit dem CAB-Protokoll ohne großen
Aufwand den Zugriff auf diese Informationen aus diesen Programmen heraus
ermöglichen. CAB erledigt dann den Download der Daten und die Darstellung.
Die Beschreibung der Messages
=============================
CAB_HELLO ($CAB8) (Nachricht von CAB)
------------------
CAB verschickt nach seinem Start an alle laufenden Programme diese
Nachricht
msg[0] = $CAB8
msg[1] = Id von CAB
msg[2] = 0
msg[3] = Version des CAB-Protokolls ($0100 entspricht V1.00)
msg[4] = Bitvektor mit den von CAB (CAB.OVL) unterstützten Internet-
Protokollen
Bit 0: HTTP
Bit 1: FTP
Bit 2: GOPHER
Bit 3: WAIS
Bit 4: MAILTO
Bit 5: NNTP
Bit 6: TELNET
Bit 7-15: 0 (reserviert)
msg[5] = Bitvektor mit den von CAB unterstützten Nachrichten des
CAB-Protokolls.
Bit 0: CAB_VIEW
Bit 1: CAB_MAIL, CAB_MAILSENT
Bit 2: CAB_REQUESTSTATUS, CAB_RELEASESTATUS, CAB_STATUS,
CAB_EXIT
Bit 3-15: 0 (reserviert)
msg[6] = 0
msg[7] = 0
CAB_SUPPORT ($CABB) (Nachricht an CAB)
--------------------
Wird diese Nachricht an CAB geschickt, sendet CAB die Nachricht CAB_HELLO
zurück. Bleibt CAB_HELLO aus, wird noch eine alte Version von CAB benutzt
welche das CAB-Protokoll noch nicht unterstützt.
Alle Programme, die an den Informationen interessiert sind, die CAB_HELLO
liefert, sollten nach dem Start CAB_SUPPORT an CAB senden. Wird CAB erst
später gestartet, wird CAB_HELLO automatisch an das Programm geschickt.
msg[0] = $CABB
msg[1] = Id des PRGs
msg[2] = 0
msg[3] = 0
msg[4] = 0
msg[5] = 0
msg[6] = 0
msg[7] = 0
CAB_VIEW ($CAB3) (Nachricht an CAB)
----------------
Ähnlich wie VA_START aber statt eines Dateinamens wird eine URL übergeben.
CAB zeigt diese Datei dann an.
msg[0] = $CAB3
msg[1] = Id des PRGs
msg[2] = 0
msg[3] = \ Zeiger auf die URL
msg[4] = /
msg[5] = Wenn hier 1 eingetragen wurde, stellt CAB die URL in einem neuen
Fenster dar, wenn 0 eingetragen wurde wird das oberste CAB-
Fenster benutzt.
msg[6] = 0
msg[7] = 0
CAB_REQUESTSTATUS ($CAB5) (Nachricht an CAB)
-------------------------
Kann an CAB geschickt werden, um zu erfahren ob CAB zur Zeit online oder
offline ist. CAB schickt daraufhin bei jeder Änderung des On-/Offline-
Statuses die Message CAB_STATUS.
msg[0] = $CAB5
msg[1] = Id des PRGs
msg[2] = 0
msg[3] = 0
msg[4] = 0
msg[5] = 0
msg[6] = 0
msg[7] = 0
CAB_RELEASESTATUS ($CAB7) (Nachricht an CAB)
-------------------------
Sollte an CAB geschickt werden, wenn ein Programm nicht mehr an den
on/offline- Informationen interessiert ist, die mit CAB_REQUESTSTATUS
angefordert wurden (z.B. weil es sich beendet).
msg[0] = $CAB7
msg[1] = Id des PRGs
msg[2] = 0
msg[3] = 0
msg[4] = 0
msg[5] = 0
msg[6] = 0
msg[7] = 0
CAB_STATUS ($CAB6) (Nachricht von CAB)
------------------
Wird von CAB an alle Programme verschickt, die sich mit CAB_REQUESTSTATUS
angemeldet haben.
msg[0] = $CAB6
msg[1] = Id von CAB
msg[2] = 0
msg[3] = 1 falls CAB online; 0 falls CAB offline.
msg[4] = 0
msg[5] = 0
msg[6] = 0
msg[7] = 0
CAB_EXIT ($CAB1) (Nachricht von CAB)
----------------
Wird von CAB an alle Programme geschickt, die sich mit CAB_REQUESTSTATUS
angemeldet haben, sobald sich CAB beendet. Vorher wird auch noch ein
CAB_STATUS gesendet, in dem der offline-Zustand gemeldet wird.
msg[0] = $CAB1
msg[1] = Id von CAB
msg[2] = 0
msg[3] = 0
msg[4] = 0
msg[5] = 0
msg[6] = 0
msg[7] = 0
CAB_MAIL ($CAB9) (Nachricht an CAB)
----------------
Kann an CAB geschickt werden, um Mails zu verschicken.
msg[0] = $CAB9
msg[1] = Id des PRGs
msg[2] = 0
msg[3] = \ Zeiger auf die URL. Ein 'Betreff' (Subject) kann, durch ein
msg[4] = / Fragezeichen getrennt, direkt an die URL gehängt werden.
msg[5] = \ Zeiger auf eine Datei, die den Mailinhalt enthält oder
msg[6] = / null (dann öffnet CAB einen Editor, in dem die Mail eingegeben
wird).
msg[7] = Bitvektor mit weiteren Optionen.
Bit 0: 0 falls die Maildatei sofort verschickt werden soll,
oder 1 falls die Maildatei vom Benutzer noch in CAB
bearbeitet/geändert werden soll.
Bit 1: bei 1 wird die Maildatei gelöscht, nachdem sie verschickt
wurde, bei 0 bleibt sie erhalten.
Bit 2-15: 0 (reserviert)
CAB_MAILSENT ($CABA) (Nachricht von CAB)
--------------------
Wird von CAB an das Programm geschickt, welches CAB_MAIL gesendet hat und
enthält Informationen, ob das Verschicken der Mail geklappt hat oder nicht.
msg[0] = $CABA
msg[1] = Id von CAB
msg[2] = 0
msg[3] = 1 falls die Mail ohne Fehler verschickt wurde; 0 bei Fehler (in
diesem Fall ist in msg[4] die Fehlerursache zu erfahren).
msg[4] = Enthält eine Fehlernummer, falls msg[3]=0
0: Keine URL angegeben.
1: Offline, Netzverbindung gestört, Server nicht erreichbar.
2: Benutzer hat Aktion abgebrochen (Falls die Mail in CAB
bearbeitet werden sollte, hat der Benutzer die
Möglichkeit die Aktion abzubrechen)
3: GEMDOS-Fehler beim Zugriff auf die Maildatei.
4: Editor zum Bearbeiten konnte nicht aufgerufen werden.
msg[5] = 0
msg[6] = 0
msg[7] = 0
Spezielle Messages für 'Cache-Tools'
====================================
CAB_CCHANGED ($CAB0) (Nachricht an/von CAB)
--------------------
Der Cache (bzw. CACHE.CAB) wurde verändert und soll neu eingelesen werden.
msg[0] = $CAB0
msg[1] = Id von CAB/des PRGs
msg[2] = 0
msg[3] = 0
msg[4] = 0
msg[5] = 0
msg[6] = 0
msg[7] = 0
CAB_EXIT ($CAB1) (Nachricht an/von CAB)
----------------
CAB oder das Cache-Tool beendet sich (als Info für das jeweils andere PRG)
msg[0] = $CAB1
msg[1] = Id von CAB/des PRGs
msg[2] = 0
msg[3] = 0
msg[4] = 0
msg[5] = 0
msg[6] = 0
msg[7] = 0
CAB_PATH ($CAB2) (Nachricht von CAB)
----------------
Die lokalen HTML-Verzeichnisse und/oder das Cache-Verzeichnis wurde
geändert. Nähere Infos sind in der Cache-Tools-Dokumentation zu erfahren.
msg[0] = $CAB2
msg[1] = Id von CAB
msg[2] = 0
msg[3] = 0
msg[4] = 0
msg[5] = 0
msg[6] = 0
msg[7] = 0
CAB_TERM ($CAB4) (Nachricht von CAB)
----------------
Das Cache-Tool soll sich beenden.
msg[0] = $CAB4
msg[1] = Id von CAB
msg[2] = 0
msg[3] = 0
msg[4] = 0
msg[5] = 0
msg[6] = 0
msg[7] = 0